const app = getApp();
// 注意 url method 不需要传递两个 option中的 url  method 可能会导致未知的错误
const myRequsest = (url, option) => {
	// option.url = app.globalData.api_root + url;
	url = app.globalData.api_root + url;
	if (app.globalData.bind_Phone || app.globalData.isLogin) {

		option.header = {
			...option.header,
			token: app.globalData.token ? 'Bearer ' + app.globalData.token : {}
		}
	}
	return new Promise((resolve, reject) => {
		// uni.showLoading(); 
		uni.request({
			url: url,
			...option,
			// url: option.url,
			// data: option.data,
			// header: option.header,
			// method: option.method,
			// timeout: option.timeout,
			// dataType: option.dataType,
			// responseType: option.responseType,
			success: (res) => {
				resolve(res.data);
				if (res.data.code == 40001) {
					// 登录态失效, 重新登录
					// 登录态失效, 重新登录
					uni.removeStorageSync('token');
					uni.removeStorageSync('user_info');
					app.globalData.UserInfo = {}
					app.globalData.isLogin = false
					app.globalData.token = ''
					app.doLogin();
					return false;
				} else if (res.data.code == 40003) {
					app.showError(res.data.msg);
					return false;
				} else if (res.data.code == 401) {
					app.showError(res.data.msg || "系统繁忙", () => {
						uni.removeStorageSync('token');
						uni.removeStorageSync('user_info');
						app.globalData.UserInfo = {}
						app.globalData.isLogin = false
						app.globalData.token = ''
						app.doLogin();
					});
					return false;
				} else if (res.data.data == null || (res.data.code != 0 && res.data.code !=
						200)) {
					app.showError(res.data.msg || "系统繁忙",option.errCallBack);
					return false;
				}
			},
			fail: (err) => {
				reject(err);
				app.showError(err.errMsg,option.errCallBack);
				// uni.hideLoading();
			},
			complete: () => {
				// uni.hideLoading();
				uni.hideNavigationBarLoading(); // wx.hideLoading();

				
			},
		})
	})
}



export default myRequsest